隨著opencv-python的教學前進,
進入比較多的影像處理細節,
電腦介入了影像,影像這個古老的數位領域,有不少基本功需要了解,
細節很多。
在影像處理這個章節,有不少重要且基礎的觀念要熟悉,研究生寫論文時的前置準備工夫要花不少
時間,裏面有改變顏色空間,圖像的幾何變換,影像的閥值,平滑化圖片,形態上的轉換,
影像梯度,Canny 邊界測試,影像金字塔,關於輪廓,直方圖,影像變換,
樣板匹配,Hough 線的變換,Hough 圓的變換,分水嶺分割演算法,使用GrabCut 演算法和前景互動式的擷取。
在官方下載的源碼目錄中,有一python2/edge.py, 這是 Canny 邊界測試的例子。
上有兩條拉BAR,得到的值可以給Canny使用,
thrs1 = cv2.getTrackbarPos('thrs1', 'edge')
thrs2 = cv2.getTrackbarPos('thrs2', 'edge')
edge = cv2.Canny(gray, thrs1, thrs2, apertureSize=5)
兩個閥值 threshold values, minVal and maxVal. 過小時的效果。
opencv 把影像處理的基本功能都收錄了,拿來做美美的圖片,抽像有意境的畫面都不困難了,只是這些是讓
電腦/機器能有視覺,能辨視圖片的基礎。回頭想想,能把影像編碼的前人,怎麼有辦法在影像裏,放入這麼多
信息,也許還不夠多?這些看似無規則又有規則的信息,能提取出來做為辨視的依靠,真是不容易。
美感是藝術層次,是影像處理,機器視覺是理性層次,依然是影像處理。
應該要先從了解影像編碼,及影像檔格式來入門,會更深刻,但一般這樣上課的教科書較少。
會從api的學習開始,切入工具的使用。
有愈來愈多的變臉app流行,這種app早點流行,會不會抑制整型的風氣?為什麼有一定比例的人,不喜歡自己的臉?
不喜歡自己是一種心理上的疾病,在台灣仍要予以尊重,就像同性戀的議題,只是一種心理上的狀態,不要歧視,
愈歧視,後續效果反撲愈大,做一款變臉app,讓人少做幾次整型手術,先模擬一下變臉後效果,這也是做功德。
變臉app或更早之前的電腦從人臉看出幾歲,都是人臉辨識的應用,以為風潮已過,結果卻是方興未艾,
創意果然無限,這個入門教程中,也有Face Detection using Haar Cascades,維基百科上又稱哈爾特徵,這種感覺要寫很多程式碼的功能,在前人的累積了不少特徵資料庫,這些事做起來,就簡單的有點誇張。
在IPython Notebook下,測試的效果,
有些臉沒有辨識到,筆者試一下PNG格式的圖,辨識率更低,
在OPENCV下載的原始碼目錄下,
教學所提的目錄下,
有這些資料庫,
haarcascade_eye_tree_eyeglasses.xml
haarcascade_eye.xml
haarcascade_frontalcatface_extended.xml
haarcascade_frontalcatface.xml
haarcascade_frontalface_alt2.xml
haarcascade_frontalface_alt_tree.xml
haarcascade_frontalface_alt.xml
haarcascade_frontalface_default.xml
haarcascade_fullbody.xml
haarcascade_lefteye_2splits.xml
haarcascade_licence_plate_rus_16stages.xml
haarcascade_lowerbody.xml
haarcascade_profileface.xml
haarcascade_righteye_2splits.xml
haarcascade_russian_plate_number.xml
haarcascade_smile.xml
haarcascade_upperbody.xml
從命名上,可看出它做辨識那些特徵的用途,應該也有聯想到,如果筆者要辨識,羽球選手,下半身,持拍的手,
揮動的球拍,飛動的羽球,拍擊中球的瞬間(做示意圖時一直補抓不到!!),球鞋,這些物品的特徵資料庫存在那?
也是另一種OPEN DATA?!!會用什麼格式儲存? 準確率多少?
當然人臉辨識後,到變臉app,仍然有不少code,不少資料庫要累積,才能商品化。